iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
Mobile Development

SwiftUI 的大大小小系列 第 29

Day 29 - 在 SwiftUI 中使用 alert

  • 分享至 

  • xImage
  •  

hero

在 iOS 15 之後,要顯示警告只需要透過 modifier 就能夠顯示:

  1. 新增一個 alert 顯示狀態的變數
  2. 加上 alert
  3. 需要按鈕,就只要在 actions 裡面加入 Button 即可
struct ContentView: View {
    @State private var isShowingAlert = false

    var body: some View {
        VStack {
            Button("同步") {
                isShowingAlert = true
            }
        }
        .alert("同步完成", isPresented: $isShowingAlert) {
            Button("確定") {}
        } message: {
            Text("這是訊息這是訊息")
        }

    }
}

設定按鈕風格

可以在 role 這個參數傳入按鈕的種類,

  • .destructive -,就會是紅字
  • .cancel -,就會是粗體字
struct ContentView: View {
    @State private var isShowingAlert = false

    var body: some View {
        VStack {
            Button("同步") {
                isShowingAlert = true
            }
        }
        .alert("同步完成", isPresented: $isShowingAlert) {
            Button("取消", role: .destructive) {}
            Button("確定", role: .cancel) {}
        } message: {
            Text("這是訊息這是訊息")
        }

    }
}

由於 .cancel 在兩個按鈕時會被推到左邊所以即使是這個排列,在畫面上看起來排列會是相反的。

2901

結語

以上,就是 ToggleStyle 的基本用法,那今天的 SwiftUI 大大小小就到這邊,明天見!

環境

  • Xcode 15

本篇使用到的 UI 元件和 modifiers 基本上沒有受到版本更新影響。若要在 Xcode 14 等環境下使用也是沒問題的。


上一篇
Day 28 - 在 SwiftUI 實作客製化 ToggleStyle
下一篇
Day 30 - 在 SwiftUI 中 DatePicker 的基本用法
系列文
SwiftUI 的大大小小30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言